Перейти к основному содержимому

Аутентификация OAuth 2

Обзор

OAuth 2.0 — это отраслевой стандарт протокола для авторизации пользователей. Аутентификация OAuth 2 позволяет пользователям входить в Moodle через кнопки на странице входа, используя свои учётные данные от популярных поставщиков услуг, таких как Google, Microsoft, Facebook и LinkedIn. OAuth_Login.png

Следующий высокоуровневый процесс взаимодействия иллюстрирует, как работает аутентификация OAuth 2 в контексте Moodle: OAuth_-_Service_Provider_Authentication.png

Поставщик услуг OAuth — это внешняя система («в облаке»), которая предоставляет удостоверение личности (через сервер авторизации) и доступ к API (через сервер ресурсов), выдавая токены доступа OAuth клиенту (Moodle).

Давайте рассмотрим взаимодействие сверху вниз:

  1. Пользователь отправляет запрос на авторизацию; то есть пользователь входит в систему поставщика услуг через клиент. Этот шаг инициируется с помощью кнопок поставщика услуг на экране входа в Moodle.
  2. Сервер авторизации выдаёт код авторизации, если введённые учётные данные действительны. Как только это произойдёт, пользователь будет аутентифицирован в Moodle. Если создание учётной записи разрешено (настройка «Запретить создание учётной записи при аутентификации»), будет создана новая учётная запись. В противном случае пользователю будет предложено связать авторизацию с существующей учётной записью с тем же адресом электронной почты. Запись можно найти в разделе «Связанные логины» в настройках пользователя.
  3. Токен доступа будет выдан, когда пользователь войдёт в систему, используя сохранённый код авторизации. Запланирована задача для регулярного обновления токенов OAuth 2 (\core\oauth2\refresh_system_tokens_task).
  4. Moodle использует этот токен доступа для любых внутренних служб, которым требуется ресурс от поставщика услуг, например, ссылка на файлы в хранилище. Для некоторых внутренних служб требуется подключение системной учётной записи.

Настройка аутентификации OAuth 2

Чтобы использовать аутентификацию OAuth 2, администратор должен выполнить следующие шаги:

  1. Настроить службы OAuth 2: перейдите в «Администрирование сайта > Сервер > Службы OAuth 2» и следуйте инструкциям на странице Службы OAuth 2.
  2. Включить OAuth 2: перейдите в «Администрирование сайта > Плагины > Аутентификация», включите «OAuth 2».
  3. Настроить блокировку полей пользователя в OAuth 2: чтобы контролировать, какие поля данных пользователя заполняются и как, нажмите на ссылку «Настройки» и настройте «Блокировка полей пользователя».
  4. Запретить создание учётной записи: по умолчанию создание учётной записи разрешено. Если вы хотите запретить создание учётной записи, перейдите в «Администрирование сайта > Плагины > Аутентификация» и включите настройку «authpreventaccountcreation».
  5. Тестирование, тестирование, тестирование: чтобы убедиться, что ваша конфигурация OAuth 2 работает, перейдите в «Администрирование сайта > Плагины > Аутентификация» и нажмите на ссылку «Настройки тестирования» в строке «OAuth 2». Здесь вы можете выбрать службу и протестировать её подключение.

Для следующих функций Moodle требуется служба OAuth2:

См. также

Категория:OAuth 2